import { Product } from "../../domain/entities/Product"
import { ProductType } from "../../domain/type/ProductType"

/**
 * 商品仓储接口 - 定义商品数据访问的契约
 * 在DDD中，端口定义了领域层与外部世界的交互方式
 */
export interface ProductRepository {

    /**
     * 获取商品列表
     */
    findAll(): Promise<Array<ProductType>>;

    /**
     * 根据ID获取商品详情
     * @param id 商品ID
     */
    findById(id: number): Promise<Product>
}